<?php

namespace common\validate;


class MenuRoute extends BaseValidate
{
    // 验证规则
    protected $rule = [];

    // Fields 验证场景定义
    public function sceneFields()
    {
        return $this;
    }

    // Find 验证场景定义
    public function sceneFind()
    {
        return $this->append('param', 'require')
            ->append('param.filter', 'array');
    }

    // Select 验证场景定义
    public function sceneSelect()
    {
        return $this->append('param', 'require')
            ->append('param.filter', 'array')
            ->append('param.page', 'array');
    }

    // Create 验证场景定义
    public function sceneCreate()
    {
        return $this->append('data.name', 'require|max:128')
            ->append('data.menu_module_id', 'require')
            ->append('data.route', 'require|max:255')
            ->append('data.code', 'max:128')
            ->append('data.icon', 'max:24')
            ->append('data.index', 'max:6');
    }

    // Update 验证场景定义
    public function sceneUpdate()
    {
        return $this->append('data.id', 'require')
            ->append('data.name', 'max:128')
            ->append('data.route', 'max:255')
            ->append('data.code', 'max:128')
            ->append('data.icon', 'max:24')
            ->append('data.index', 'max:6');
    }

    // Delete 验证场景定义
    public function sceneDelete()
    {
        return $this->append('param.filter', 'require');
    }

    // SetMenuRouteIndex 验证场景定义
    public function sceneSetMenuRouteIndex()
    {
        return $this->append('data', 'require|array');
    }

    // GetRouteList 验证场景定义
    public function sceneGetRouteList()
    {
        return $this->append('param.filter.menu_module', 'require')
            ->append('param.filter.project_id', 'requireIf:param.filter.menu_module,project_manage');
    }

}
